package ar.uba.fi.celdas.ponderador;

import java.util.ArrayList;
import java.util.Collection;

import ar.fi.uba.celdas.interfaces.bc.Regla;
import ar.fi.uba.celdas.interfaces.bc.Sensor;

/**
 * Una situacion esta definida por el estado de los sensores
 * Una situacion es conocida si esta registrada como condiciones supuestas o predecida por alguna teoria del conjunto
 *
 * @author miguel
 *
 */
public class Situacion {

	ArrayList<Sensor> estado= new ArrayList<Sensor>();//el estado que describe a la situacion


	/**
	 * metodo de debug para sacar el nombre ddel primer estado
	 */
	public String getNombreEstado() {
		return estado.get(0).getNombre();
	}

	public Situacion(Collection<Sensor> estado) {
		super();
		this.estado = (ArrayList<Sensor>) estado;
	}
	

	
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((estado == null) ? 0 : estado.hashCode());
		return result;
	}
	
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Situacion other = (Situacion) obj;
		if (estado == null) {
			if (other.estado != null)
				return false;
		} else if (!estado.equals(other.estado))
			return false;
		return true;
	}
}
